From: Carlos Garnacho Date: Fri, 29 May 2020 14:07:28 +0000 (+0200) Subject: padOsd: Cache label coordinates/arrangements X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~684^2^2~334 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=63abfc163d90275fb18fa3f449786d13a95cdf02;p=gnome-shell.git padOsd: Cache label coordinates/arrangements This is actually static for a given PadDiagram, as it always represents a single device. Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2570 https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290 --- diff --git a/js/ui/padOsd.js b/js/ui/padOsd.js index 3e7b7beac..8aadf5114 100644 --- a/js/ui/padOsd.js +++ b/js/ui/padOsd.js @@ -444,14 +444,12 @@ var PadDiagram = GObject.registerClass({ this._updateDiagramScale(); for (let i = 0; i < this._labels.length; i++) { - const { label, action, idx, dir } = this._labels[i]; - let [found_, x, y, arrangement] = this._getLabelCoords(action, idx, dir); + const { label, x, y, arrangement } = this._labels[i]; this._allocateChild(label, x, y, arrangement); } if (this._editorActor && this._curEdited) { - const { action, idx, dir } = this._curEdited; - let [found_, x, y, arrangement] = this._getLabelCoords(action, idx, dir); + const { x, y, arrangement } = this._curEdited; this._allocateChild(this._editorActor, x, y, arrangement); } } @@ -576,12 +574,12 @@ var PadDiagram = GObject.registerClass({ } _addLabel(action, idx, dir) { - let [found] = this._getLabelCoords(action, idx, dir); + let [found, x, y, arrangement] = this._getLabelCoords(action, idx, dir); if (!found) return false; let label = new St.Label(); - this._labels.push({ label, action, idx, dir }); + this._labels.push({ label, action, idx, dir, x, y, arrangement }); this.add_actor(label); return true; }